package com.easonji.attendance.service;

import com.easonji.attendance.model.Leave;
import com.easonji.attendance.query.LeaveVerifyQuery;
import com.easonji.common.base.query.BaseQuery;

import java.util.List;
import java.util.Map;


/**
 * <p>
 * 请假 服务类
 * </p>
 *
 * @author easonji
 * @since 2018-10-03
 */

public interface ILeaveService  {

    /**
    * 查询请假列表
    *
    * @param baseQuery 请假列表查询条件
    *
    * @return 请假列表
    */
    Object queryList(BaseQuery baseQuery);

    /**
    * 根据请假ID，查询请假信息
    *
    * @param leId 请假ID
    *
    * @return 请假信息
    */
    Object queryRowById(Integer leId);

    /**
    * 添加 请假
    *
    * @param leave 请假表单
    * @return 添加结果
    */
    Integer save(Leave leave ,List<Map<String,Integer>> Auditors);

    /**
    * 修改 请假
    *
    * @param leave  请假表单
    * @return 修孜结果
    */
    Integer  update(Leave leave);

    /**
    * 删除 请假
    *
    * @param leId  请假表单
    * @return 删除结果
    */
    Integer  delete(Integer leId);

    /**
     * 查询审核列表
     * @param leaveVerifyQuery
     * @return
     */
    Object queryVerifyList(LeaveVerifyQuery leaveVerifyQuery);

}
